home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 52
/
Amiga Format AFCD52 (Issue 136, May 2000).iso
/
-serious-
/
programming
/
basic
/
mildred
/
mildred.lha
/
lha
/
Mildred.lha
/
Mildred.Readme
< prev
Wrap
Text File
|
2000-03-02
|
42KB
|
446 lines
Mildred v1.51. Copyright (c) 1998-2000 Paul West. Written by Paul West.
All previous copyright ownership by Pagan Games is now void. Paul Jonathan West
is the full owner of Mildred library, sourcecode, intellectual properties,
copyright and distribution rights.
Mildred.obj is the actual Mildred chunky-graphics library. Put it into your
Blitzlibs:Userlibs/ drawer. Then remake your deflibs file with either
BlitzLibsMan, or the MakeDefLibs program.
If you encounter a crash when attempting to recreate your deflibs with
Mildred.obj installed, try using the modified version that I have also supplied.
Then you can reload blitz/ted and Mildred's commandset should be available.
A suggested installation from CLI is as follows:
Lha x ram:Mildred.lha ram:
Copy ram:Mildred.obj Blitzlibs:userlibs/
ram:MakeDefLibs.exe
EndCli
then load up blitz.
Please refer to Mildred.Guide documentation for further details on changes in
this update and up-to-date documentation of all commands.
History
v1.1 - First public release
v1.11 - Fixed bug in MUseShapeBank and altered ShapesTotal size to word as it was incorrectly a longword
- Fixed bug in the errorchecking of Mc2pCPUmode that was checking d3 instead of d0
v1.12 - Fixed bug in MUnQueue that would only do two lines of code if wrapping was active, but should have been done always
v1.13 - MBoxF, MBoxFShape, MBoxFStencil and MBoxFCookie added
- MBox, MBoxShape, MBoxStencil and MBoxCookie added
v1.14 - MPlanar16ToBitmap, MPlanar16ToShape added
v1.15 - Planar-to-chunky converter optimised further using addx and reverse bitplane order, twice as fast as roxr.b #n,dn
- MGenericPtr added
- A shape's handle is unconditionally added (actually subtracted) to Xpos,Ypos in shape-to-bitmap type blits (MBlit etc)
v1.16 - Fixed small bug in !PerformPoint macro, d6.l should have been d6.w.
- Fixed small but ineffective bug in MPlotCookie, d6.l should have been d6.w
v1.17 - Added MCludgeCookie and MCludgeStencil, also needed to add two macros
- Fixed bug in macro used by MCludgeCookie and MCludgeStencil, as it was not setting `SHere' to 0 to indicate cludge.
v1.18 - Added MUnQueueRange for unqueuing a range of items and without flushing the queue
v1.19 - Fixed bug in data for shape banks, was using structures of 8 bytes but only were 6 bytes in mem
- Fixed bug in MReserveShapes, was shifting bank number 8 places instead of 3
v1.2 - Added MReMap and MReMapShape
v1.21 - Fixed bug in macro DeallocStencil, was killing the whole object
v1.22 - Commented-out line in MShapeClip and MBitmapClip to make X leftedge unaligned (width is still multiple of 4)
- Commented-out line in Macro CludgeResourceWindow to make X leftedge unaligned (width of window is still multiple of 4)
v1.23 - Added mode to MBlit so that if a cookie is not present it will just blit the graphic in `replace'-mode (unmasked)
- Minor pipeline improvement in macros !PerformPlot and !PerformPoint
- Added code to the init routine to reserve default amounts of all objects at runtime (doesn't need much mem)
- Added `BankToUse' parameter to MReserveShapes so that you don't have to do a seperate MUseShapeBank
- Changed BoxF and Box routines to use X2,Y2 instead of Width,Height and had to add macro CCheckWindowFits4
v1.24 - Made the colour parameter in MPlot,MPlotShape,MPlotStencil and MPlotCookie optional, assuming 0 if not specified
- *Partially* Added MLine, MLineShape, MLineStencil and MLineCookie
- Modified shapebank-related routines to provide 32 shape banks numbered 0..31, instead of 0..9.
- Fixed bugs in macros ShuffleRegs1, ShuffleRegs2 and ShuffleRegs3
v1.25 - Added MReMapUsingShape and MReMapShapeUsingShape
v1.26 - Optimised routine PerformReMapUsing for slight speed gain
- Optimised routine PerformReMap for 25% speed gain in table mode
- Fixed bug in macro CCheckWindowFits4, which affected runtime errorchecking of MBox/MBoxF and related routines
v1.27 - Added MInk for setting a currently-used pen colour. Defaults to 1 which is a bit more logical than 0
- Added MColourMode function to accompany CookieMode/SolidMode etc, but for `colour' drawing mode in blits
- Added `colour' mode to MBlit, MQBlit, MSBlit, MQSBlit and MMaskScroll routines
- Removed redundant instruction in routine PerformBlit3's loop, for cookie-mode stencil-blits (slight speedup)
- Adjusted graphics routines to use the ink colour if assuming which colour to use, rather than 0
- Further optimised routine PerformReMapUsing for slight speedup (about 1-2fps)
- Changed order of tables being used for MReMap[Shape]UsingShape, for consistency with `MReMapMode' blit mode
- Added support for new Table objects
- Added MReserveTables, MFreeTables, MFreeTable, MAddrTable, MTable
- Added MFlushTable, MAutoUseTables, MUseTables, MUseTable, MUsedTable
- Added MTablePtr, MReMapMode
- Added new blit mode `ReMap' to the MBlit, MQBlit, MSBlit, MQSBlit and MMaskScroll routines for table-based remapping
v1.28 - Optimised MPictureDissolveIn for speed gain (a good few fps)
- Added MSimpleReMapMode
- Added new blit mode `SimpleReMap' to the MBlit, MQBlit, MSBlit, MQSBlit and MMaskScroll routines for 1-dim remapping
- Fixed bug in definitions, MPointStencil and MPointCookie were defined as statements, but should have been functions
- Changed the !PerformPoint macro to initialise d0 before grabbing the byte, in case it causes corrupt return value
v1.29 - Optimised non-cut routine used by MSMaskScrolls (PerformGenericBlit6[b])
- Slight optimisation to non-cut plain copy routine used by M[Q]SBlits (PerformBlit2)
- Finished MLine, MLineShape, MLineStencil and MLineCookie
v1.30 - Redirected routine PerformGenericBlit3[b] to use PerformBlit1[b], to save code redundancy, and made gen3b into 1b
- Added MSMaskScrollMode to support blit modes for MSMaskScrolls (previously only MMaskScrolls)
- Redirected routine PerformGenericBlit6[b] to use PerformBlit2[b], to prepare for shared sblit blit-mode code
- Redirected routine PerformGenericBlit9[b] to use PerformBlit3[b], to prepare for shared sblit cut blit-mode code
- Completed support for MSMaskScrolls in `copy' mode with blit modes, by adding PerformBlit2b (2 backwards)
- Completed support for MSMaskScrolls in `cut' mode with blit modes, by adding PerformBlit3b (3 backwards)
- Modified runtime errorchecking routines for MSMaskScrolls to check that tables are available in M[Simple]ReMapMode
v1.31 - Modified MScroll routines to support any width (non multiple, as low as 1).
- Modified MSScroll routines to support any width (non multiple, as low as 1) in both `paste' and `cut' modes.
v1.32 - Fixed bugs in routine PerformBlit2[b] for non-cut output to stencil. Some OR's should have been AND's, and vice versa.
v1.33 - Fixed bug in routine PerformLine, sometimes d5 was plotted rather than d6
v1.34 - Added MPlotParticles for plotting list of pixels to a colour. List items are X.w,Y.w
- Added MGrabParticles for grabbing list of pixels to a buffer. List items are X.w,Y.w. Buffer is Pixel.b's
- Added MDrawParticles for drawing grabbed list of pixels from a buffer. List items are X.w,Y.w. Buffer is Pixel.b's
- Added MGrabParticlesAndPlot for grabbing and plotting pixels to a colour. List items are X.w,Y.w. Buffer is Pixel.b's
- Fixed bug in initialisation, auto-clip for bitmaps and shapes shouldn't have been automatically On!
- Added MPlotParticlesA, MGrabParticlesA, MDrawParticlesA, MGrabParticlesAndPlotA, for actual-address list items
- Added MPlotParticlesQ, MGrabParticlesQ, MDrawParticlesQ, MGrabParticlesAndPlotQ, for X.q,Y.q items [*16*.16][*16*.16]
- Added MAddToParticles, MAddToParticlesA, MAddToParticlesQ, for adding values to particle list items
- Added MAdd2ToParticles, MAdd2ToParticlesA, MAdd2ToParticlesQ, for more efficient multiple adds to list items
v1.35 - Added MWrapParticles, MWrapParticlesA, MWrapParticlesQ, to wrap coords around edges of bitmap/clip (within reason)
- Fixed bugs in clip routine of MAddToParticlesQ and MAdd2ToParticlesQ, offsets and adders and adding were wrong
- Fixed bugs in clip routine of MWrapParticles and MWrapParticlesQ, 2 conditional branches to loop missing
v1.36 - Added MReboundParticles and MReboundParticlesQ, for bouncing particless off the edges. No `A' version, not possible
- Fixed bugs in MLine, MLineShape, MLineStencil, MLineCookie, short version used wrong colour
- Added MProcessor function, to replace blitz's `Processor' instruction and support 060
- Modified various cpu-related routines (c2p and 040 choices) to support possible 060 cpu number
- Modified init routine to check for cpu availability and set MCPU, Mc2pCPUmode and M040c2pUsage to appropriate defaults
v1.37 - Added MAddXYToParticles and MAddXYToParticlesQ for adding X and Y constants to X and Y components in a particle list
- Added MAddXYToParticlesA to add constant value to list of Ptr.l particles
- Added MAddXToParticles, MAddYToParticles, MAddXToParticlesQ and MAddYToParticlesQ for further adding to particle lists
v1.38 - Removed unnecessary code from MPlotParticlesA, MGrabParticlesA, MDrawParticlesA and MGrabParticlesAndPlotA
- Added MParticleMode to choose MColourMode, MReMapMode or MSimpleReMapMode for particle plot/draw
- Added MSimpleReMapMode and MReMapMode support to MPlotParticles, MPlotParticlesA and MPlotParticlesQ (clipping also!)
- Added MSimpleReMapMode and MReMapMode support to MDrawParticles, MDrawParticlesA and MDrawParticlesQ (clipping also!)
- Added MSimpleReMapMode and MReMapMode support to MGrabParticlesAndPlot[A/Q] for remap plot and normal grab (and clip!)
- Merged MAdd2ToParticles[A/Q] into extension of MAddToParticles[A/Q] to make friendlier interface & cut down on tokens
- Token order has been compromised due to removal of MAdd2ToParticles, MAdd2ToParticlesA and MAdd2ToParticlesQ !!!
- Fixed errornumber bugs in errorchecking routines of MShapePtr and MCookiePtr. Was Error28, should have been Error27
- Added support to MBitmapPtr, MStencilPtr, MShapePtr and MCookiePtr to assume currently used objects if no params
- Merged MAddXToParticles[Q] into special-case routine of MAddXYToParticles[Q] (called if Y is 0)
- Merged MAddYToParticles[Q] into special-case routine of MAddXYToParticles[Q] (called if X is 0)
- Token order has been compromised due to removal of MAddXToParticles[Q] and MAddYToParticles[Q] !!!
v1.39 - Optimised routine PerformLine for speedup and less instructions
- Expanded MInk to allow specification of second and third inks to use
- Slightly rearranged internal data area and ensured alignment without Even4's, ready for extensions to access
- Added MMildredBase to return the base address of Mildred's internal data area
- Added lib support for returning base of Mildred's internal data area to other libraries, at the end of Initialise
v1.40 - Added CRsrc_TotWidth to resource structure, for shapes and bitmaps, and added support code in necessary routines
- Modified many routines to read CRsrc_TotWidth rather than move.w mem->reg, add.w mem->reg. Slight general speedups
- Rearranged part of Mc2pWindow to check and set auto-use at the start as it was possibly trashed by the CacheClearU_()
v1.41 - Made MParticleMode, MBlitMode, MQBlitMode, MSBlitMode, MQSBlitMode, MMaskScrollMode and MSMaskScrollMode into commands
- Slightly modified MUnQueue, negligible speedup, but better pipelining
- Added MDrawingMode to change mode used for drawing operations such as MPlot, MLine, MBoxF etc
- Added MDrawingMode support to MCls family for InvMode, MColourMode, MReMapMode and MSimpleReMapMode (no stencil remap!)
- Added MDrawingMode support to MPlot family for InvMode, MColourMode, MReMapMode and MSimpleReMapMode (no stencil remap)
- Added MDrawingMode support to MBoxF family for InvMode, MColourMode, MReMapMode and MSimpleReMapMode (no stencil remap)
- Added MDrawingMode support to MBox family for InvMode, MColourMode, MReMapMode and MSimpleReMapMode (no stencil remap!)
- Added MDrawingMode support to MLine family for InvMode, MColourMode, MReMapMode and MSimpleReMapMode (no stencil remap)
v1.42 - Moved _DrawingModeType in data area and made it into a word, as it was mistakenly defined as a byte so was trashing
- Fixed bugs in MSTile32x32 and MSTile32x32Store, wrapping was not implemented for the dest stencil
- Slightly optimised routine PerformRemap and fixed bug in PerformRemapUsingShape as top half of d4 needed to be cleared
- Slightly optimised MUnQueue (bitmap form), speedup of about 0.1fps!
- Fixed major bug in routine PerformBlit1, ReMap mode routine was doing stencil cut but should have been a straight blit
- Added optimisation as routines PerformBlit1[b]_16, to do groups of 16 pixels instead of 4 if the width is a multiple
- Made M[c2pWindow][Shape][Bitmap]Width and M[c2pWindow][Shape][Bitmap]Height work without specified object number
- Made MAddr[c2pWindow][Shape][Bitmap][Queue][Table] work without specified object number
- Optimised macro RemakeStencil, used for generating a stencil or cookie from a bitmap or shape
- Added optimisation as routines PerformBlit2[b]_16, to do groups of 16 pixels instead of 4 if the width is a multiple
- Fixed major bug in routines PerformBlit2[b][_16] and PerformBlit3[b] in SolidMode write to mask was or instead of and
- Recoded all tile blits in 030 mode from movem.l's to move.l's and done modulos different. 2-3fps faster, on 040.
- Added optimisation as routines PerformBlit3[b]_16, to do groups of 16 pixels instead of 4 if the width is a multiple
- Optimised GenericBlit (scroll) routines, optimised for when width is multiple of 16 or multilpes of 64 for blockscroll
- Fixed bug in all tokens that add items to a queue. Upper word of d7 was corrupt due to unusual longword usage
v1.43 - Added MParticleFormat to select mode for particle tokens, between 0=word, <0=quick and >0=actual memory addresses
- Merged Word/Quick/Address versions of particle commands into single commands, using MParticleFormat to choose
- Removed MReMap[Shape]UsingShape commands as they have been superceded by MDrawingMode functionality
- Removed Mc2pToggleSingle, Mc2pToggleDouble and Mc2pToggleTriple, as you might as well just use Mc2pToggle.
- Removed the MInitShape token and just kept with MShape for making new shapes
- Renamed MUse[c2pWindows][Shapes][Bitmaps][Queues][Tables] to the singular versions and removed the plurals
- Removed MMidHandle, MMidOrigin, MCopyHandle and MCopyOrigin completely
- Removed the unused MFlushTable completely
- Removed M040c2pUsage and any other tokens associated with its status.
- Merged MMakeCookies into MMakeCookie and removed MMakeCookies token
- Merged MMakeStencils into MMakeStencil and removed MMakeStencils token
- Merged MFree[c2pWindows][Shapes][Bitmaps][Cookies][Stencils][Queues][Tables] to the singular and removed the plurals
- Tokenisation has been severly compromised due to changes, deletions and additions.!!
v1.44 - Moved MPictureDissolveIn token to the end of the library and renamed the old one to MNothing as the 128th token fails
v1.45 - Killed Mc2pRowLacing, Mc2pColumnLacing, Mc2pRowToggle, Mc2pColumnToggle and Mc2pToggle. Tokens 1-5 free for use!
- Removed all code relating to interlaced c2p conversion, especially from Mc2pWindow, Mc2p and data area
- Changed c2pWindow structure to 8 bytes instead of 16 and allowed c2p0_Pixels to be .w or .l depending on modulos>0
- Modified Mc2pWindow and Mc2p to support non-modulo c2p routine, and implemented non-modulo c2p (040 and 030) into Mc2p
- Added MPictureDissolveOut to wipe image to a colour, bit faster than cross-wiping to blank image in MPictureDissolveIn
- Modified MCludge[Shape][Bitmap][Cookie][Stencil] to take the `-16' away from the programmer making base address actual
- Merged MUnQueueRange into extra syntax option of MUnQueue, still able to unqueue range without flush or all with flush
- Added MBlockUnQueue in place of MUnQueueRange for unqueing items with width and X coord multiple of 16 (doesn't check)
- Modified clearscreen mode of MUnQueue and MBlockUnQueue to use current ink instead of just 0's
- Tried to add stencil-unqueue (cut behind stencil) but failed, not enough regs, so removed
- Slightly optimised clearscreen mode of M[Block]UnQueue to do forwards operation and (an)+ (removes need for mulu)
- Slightly optimised routine PerformCls in all relevant blit modes
v1.46 - Added MWrapXParticles and MWrapYParticles to do wrapping of only sides or top/bottom. No X-wrap for Ptr.l, however.
- Added MAddToXParticles and MAddToYParticles to add list(s) to particles but only one of the two components (Not Ptr.l)
- Fixed small bug in errorchecking routine of MAddToParticles, check for zero address occured when address was negative
- Fixed bug in clipping version of .q 2-adder routine in MAddToParticles, a3 needed to have a skip value added
v1.47 - Fixed bugs in routine PerformGenericBlit2[b], optimised routines were copying stencil also but should be data only
- Added CustomOffsets.l to MScroll family, for using list of custom Width.w,X1Offset.w,X2Offset.w,SourceModulo.w values
- Added CustomOffsets.l to MSScroll family, for using list of custom Width.w,X1Offset.w,X2Offset.w,SourceModulo.w values
- Fixed bugs in generic blit routines, beq should have been blt for skipping if byte loopcounter was empty (-1 not 0)
- Optimised remainder-byte checking in PerformGenericBlit2[b]/5[b], was no need to test for zero bytes
- Small optimisation, changing bsr to bra if the jump is the last instruction of a routine, as there is no need to stack
- Added LongwordStore.l to data area for temporary storage of longwords, like when stacking it would not be possible
- Fixed bugs in errorchecking routines of MPointShape and MPointCookie, was jumping to Error28 instead of Error27
- Added [,Source.w] parameter to MPoint[Shape][Stencil][Cookie] to specify a source bitmap/shape for the operation
- Added MZoom, MZoomShape, MZoomBitmapToShape and MZoomShapeToBitmap, for zoomed unmasked scrolls (+CustomOffsets list!)
- Added macros CCheckXYFits2 and CCheckXYFits3 for use by errorchecking routines of MZoom[Shape][To][Bitmap]
v1.48 - Fixed bug in routine PerformBlit1_16, indirect offsets in SimpleRemap were 0..3,0..3,0..3,0..3 should have been 0..15
- Optimised (1fps+) some scrolls that copy the stencil/cookie, as interleaving the moves is faster than as bursts
- Optimised some blit modes in PerformBlit1/2/3[b][_16] using phase-shift, pipelining and interleaved mem accesses
- Optimised the 030 tile routines a bit when doing an STile, by interleaving the moves
- Optimised the SimpleReMap modes in PerformBlit1[b]_16/2[b]_16/3[b]_16 when width is multiple of 16 (gains up to 2fps)
- Optimised zoom routines. Zooms with non-integer x factor are about 4fps faster
- Optimised all zoom routines using addx method instead of swap/swap/add, gains of about 3-4fps
- Added DeRes?.w as last compulsory param of zoom tokens, and added de-res routines to zooms
- Optimised zoom routines for when x factor is 1.0 to do extra-fast y-zoom, many fps faster
- Attempted to rewrite routine PerformLine using .q loop with addx, but it performed slower due to need to use divu.w
- Optimised CustomZoom[DeRes] that uses CustomOffsets.l to do groups of 4 pixels if width is multiple, gain up to 2fps+
v1.49 - Added MAddMode which returns mode number 7 for use with various graphics routines to choose `Add' operations
- Added full support throughout the lib for MAddMode routines, byte values of source and dest are simply added together
- Updated the descriptions of numerous tokens to better represent recent changes
- Fixed bug in single-colour section of routine PerformReMap, loopcounter was screwy
v1.50 - Fixed bugs in MWrapXParticles and MWrapYParticles, loops were BGE and should have been BGT, causing 1 illegal loop
- Fixed bugs in check routines of MBox[F] family, as tables were being checked for in MAddMode (where not necessary)
v1.51 - Work resumed 27/02/2000 for the first time since 22/05/1999, copyright ownership has been reclaimed
- Bug identified in PerformBlit1/2/3_16[b] MSimpleReMapMode. Masking isn't working right, shape's cookie is blocks of 4!
- Macro RemakeStencil optimised by changing SNE.b to SEQ.b and removing the NOT.l, slight speedup making cookie/stencil
- Fixed bug in PerformBlit1/2/3_16[b] MSimpleReMapMode. Replaced TST.l with CMP.l #-1, as it was skipping 4 instead of 1
- Design flaw: Programmers should beware that cludged cookies/stencils must share the same linemodulo as the main data
- Optimised macro PerformYFlip for improved speed Yflipping if width is multiple of 16
- Optimised/recoded macro PerformXFlip for improved speed Xflipping if width is multiple of 4 or 16. ScrollDemo is 1fps+
Blitz library 'blitzlibs:userlibs/Mildred.obj' (#15)
MWrapXParticles CoordinateList.l,NumPoints.l ; Bring particles in from left/right edges (Not Ptr.l)
MWrapYParticles CoordinateList.l,NumPoints.l ; Bring particles in from top/bottom edges
MAddToXParticles CoordinateList.l,NumPoints.l,IncA.l[,IncB.l] ; Add X components of [two sets of] increments
MAddToYParticles CoordinateList.l,NumPoints.l,IncA.l[,IncB.l] ; Add Y components of [two sets of] increments
MAddMode ; Returns value 7 which represents `add' mode in the blit modes
Mc2pCPUmode CPU.b ; Set cpu c2p uses. Use `MProcessor' or `Processor'. <4=030-, >3=040+
Mc2pWindow c2pWindow#.w,OpWidth.w,OpHeight.w[,SourceBWidth.w[,Processor.b],PlanarWidth.w,PlanarHeight.w]
Mc2pWindowWidth [(c2pWindowNumber.w)] ; Returns width of c2pWindow
Mc2pWindowHeight [(c2pWindowNumber.w)] ; Returns height of c2pWindow
Mc2pWindowNewHeight c2pWindow#.w,NewHeight.w ; Change height of already defined c2p object
Mc2p [[c2pWindow#.w],Chunky.l],Planar.l ; Convert chunky to planar (Use Mc2pWindow first)
MReservec2pWindows [(]NumberOfWindows.w[)] ; Reserve structure-memory for c2pWindows
MReserveShapes [(]NumberOfShapes.w[,ShapeBankToUse.w][)] ; Reserve structure-memory for Shapes
MReserveBitmaps [(]NumberOfBitmaps.w[)] ; Reserve structure-memory for Bitmaps
MShape [(]ShapeNumber.w,Width.w,Height.w[)] ; Allocmem for shape data
MBitmap [(]BitmapNumber.w,Width.w,Height.w[)] ; Allocmem for bitmap data
MAutoCookie On/Off ; Autocreation of ByteForByte cookies
MAutoStencil On/Off ; Autocreation of ByteForByte stencils
MFreec2pWindow [Firstc2pWindow.w[,Lastc2pWindow.w]] ; Free a c2pWindow, range of c2pWindows or all c2pWindows
MFreeShape [FirstShape.w[,LastShape.w]] ; Free a Shape, range of shapes, or all shapes
MFreeBitmap [FirstBitmap.w[,LastBitmap.w]] ; Free a Bitmap, range of bitmaps, or all bitmaps
MShapeWidth [(ShapeNumber.w)] ; Returns width of Shape
MBitmapWidth [(BitmapNumber.w)] ; Returns width of Bitmap
MShapeHeight [(ShapeNumber.w)] ; Returns height of Shape
MBitmapHeight [(BitmapNumber.w)] ; Returns height of Bitmap
MAddrc2pWindow [(c2pWindowNumer.w)] ; Returns address of c2pWindow structure
MAddrShape [(ShapeNumber.w)] ; Returns address of Shape structure
MAddrBitmap [(BitmapNumber.w)] ; Returns address of Bitmap structure
MHandle ShapeNumber.w,XOffset.w,YOffset.w ; Set handle of Shape
MBitmapOrigin BitmapNumber.w,XOffset.w,YOffset.w ; Set origin of Bitmap
MUsec2pWindow Mainc2pWindowNum.w[,Secondc2pWindowNum.w[,Thirdc2pWindowNum.w]] ; Current to use
MUseShape MainShapeNum.w[,SecondShapeNum.w[,ThirdShapeNum.w]] ; Current Shape(s) to use
MUseBitmap MainBitmapNum.w[,SecondBitmapNum.w[,ThirdBitmapNum.w]] ; Current Bitmap(s) to use
MUsedc2pWindow ; Returns currently used c2pWindow
MUsedShape ; Returns currently used Shape
MUsedBitmap ; Returns currently used Bitmap
MCludgeShape ShapeNumber.w,Width.w,Height.w,Memory.l ; Cludge shape from existing mem
MCludgeBitmap BitmapNumber.w,Width.w,Height.w,Memory.l ; Cludge bitmap from existing mem
MAutoUsec2pWindows True/False ; Automatically `use' new c2pWindows. <>0=True
MAutoUseShapes True/False ; Automatically `use' new shapes. <>0=True
MAutoUseBitmaps True/False ; Automatically `use' new bitmaps. <>0=True
MMakeCookie [FirstShape.w[,LastShape.w]] ; Make a cookie for a shape, range of shapes, or all shapes
MMakeStencil [FirstBitmap.w[,LastBitmap.w]] ; Make a stencil for a bitmap, range of bitmaps, or all bitmaps
MFreeCookie [FirstShape.w[,LastShape.w]] ; Free a Shape's cookie, a range of Shape's cookies, or all cookies
MFreeStencil [FirstBitmap.w[,LastBitmap.w]] ; Free's a Bitmap's stencil, a range of stencils or all stencils
MAutoShapeWrap On/Off ; Auto X&Y Handle-wrapping for Shapes
MAutoBitmapWrap On/Off ; Auto X&Y Handle-Wrapingp for Bitmaps
MShapeWrap ShapeNumber.w,On/Off ; De/Activate X&Y Handle-Wrap for Shape
MBitmapWrap BitmapNumber.w,On/Off ; De/Activate X&Y Handle-Wrap for Bitmap
MCludgeShapeStruct [(]SourceShape.w,DestShape.w[)] ; Copy definition-data only
MCludgeBitmapStruct [(]SourceBitmap.w,DestBitmap.w[)] ; Copy definition-data only
MCopyc2pWindow Sourcec2pWindow.w,Destc2pWindow.w ; Copy definition-data only
MShapeWindow [(]SourceShape.w,DestShape.w,X.w,Y.w,Width.w,Height.w[)] ; Cludge Shape within a Shape
MBitmapWindow [(]SourceBitmap.w,DestBitmap.w,X.w,Y.w,Width.w,Height.w[)] ; Cludge Bitmap within a Bitmap
MBitmapShape [(]SourceBitmap.w,DestShape.w[)] ; Copy definition-data only
MShapesBitmap [(]SourceShape.w,DestBitmap.w[)] ; Copy definition-data only
MAutoCookieXFlip On/Off ; Auto X-Flip for Shape's cookie
MAutoCookieYFlip On/Off ; Auto Y-Flip for Shape's cookie
MAutoStencilXFlip On/Off ; Auto X-Flip for Bitmap's stencil
MAutoStencilYFlip On/Off ; Auto Y-Flip for Bitmap's stencil
MAutoCookieFlip On/Off ; Auto X&Y Cookie-Flip for Shapes
MAutoStencilFlip On/Off ; Auto X&Y Stencil-Flip for Bitmaps
MShapeXFlip ShapeNumber.w ; Horizontally flip a Shape (see MAutoCookieFlip)
MShapeYFlip ShapeNumber.w ; Vertically flip a Shape (see MAutoCookieFlip)
MBitmapXFlip BitmapNumber.w ; Horizontally flip a Bitmap (see MAutoStencilFlip)
MBitmapYFlip BitmapNumber.w ; Vertically flip a Bitmap (see MAutoStencilFlip)
MCookieXFlip ShapeNumber.w ; Horizontally flip a Shape's cookie
MCookieYFlip ShapeNumber.w ; Vertically flip a Shape's cookie
MStencilXFlip BitmapNumber.w ; Horizontally flip a Bitmap's stencil
MStencilYFlip BitmapNumber.w ; Vertically flip a Bitmap's stencil
MAutoShapeClip Status.b ; Auto-clip new Shapes. On/Off
MAutoBitmapClip Status.b ; Auto-clip new Bitmaps. On/Off
MShapeClip ShapeNumber.w[,X.w,Y.w,Width.w,Height.w][,Active] ; Active=On/Off. Define Shape's clip window
MBitmapClip BitmapNumber.w[,X.w,Y.w,Width.w,Height.w][,Active] ; Active=On/Off. Define Bitmap's clip window
MGetaShape ShapeNumber.w,X.w,Y.w,Width.w,Height.w[,Block?,StencilIsCookie?] ; Grab shape from bitmap
MGetaBitmap BitmapNumber.w,X.w,Y.w,Width.w,Height.w[,Block?,CookieIsStencil?] ; Grab bitmap from shape
MScroll X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w[,CustomOffsets.l]] ; Copy graphic
MScrollShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w[,CustomOffsets.l]] ; Copy graphic
MScrollStencil X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w[,CustomOffsets.l]] ; Copy sten to sten
MScrollCookie X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w[,CustomOffsets.l]] ;Copy cook to cook
MMaskScroll X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; Copy bitmap graphic with stencil-cut
MMaskScrollShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Copy shape graphic with cookie-cut
MMaskScrollStencil X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w];Copy stencil2stencil & stencil-cut
MMaskScrollCookie X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Copy cookie to cookie & cookie-cut
MScrollBitmapToShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w[,CustomOffsets.l]];bitmap 2 shape
MScrollShapeToBitmap X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w[,CustomOffsets.l]] ;shape 2 bitmap
MScrollStencilToCookie X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w[,CustomOffsets.l]]; sten2cookie
MScrollCookieToStencil X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w[,CustomOffsets.l]] ; cookie2sten
MMaskScrollBitmapToShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; Copy bitmap to shape & cut
MMaskScrollShapeToBitmap X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Copy shape to bitmap & cut
MMaskScrollStencilToCookie X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ;Copy stencil2cookie & cut
MMaskScrollCookieToStencil X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Copy cookie2stencil & cut
MBlockScroll X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; BlockCopy graphic
MBlockScrollShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; BlockCopy graphic
MBlockScrollStencil X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; BlockCopy stencil to stencil
MBlockScrollCookie X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; BlockCopy cookie to cookie
MBlockScrollBitmapToShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; BlockCopy bitmap to shape
MBlockScrollShapeToBitmap X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; BlockCopy shape to bitmap
MBlockScrollStencilToCookie X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w];BlockCopy stencil2cookie
MBlockScrollCookieToStencil X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; BlockCopy cookie2stencil
MCPU Processor.b ; Set cpu routines allowed to use. CAREFUL!! Try using `MProcessor' or `Processor'
MCls [Colour] Clear a bitmap to colour 0 or the specified colour (in DrawingMode)
MClsShape [Colour] Clear a shape to colour 0 or the specified colour (in DrawingMode)
MClsStencil [Colour] Clear a stencil to colour 0 or the specified colour (in DrawingMode)
MClsCookie [Colour] Clear a cookie to colour 0 or the specified colour (in DrawingMode)
MPlot Xpos.w,Ypos.w[,Colour] ; Plot a single pixel in the bitmap in DrawingMode
MPlotShape Xpos.w,Ypos.w[,Colour] ; Plot a single pixel in the shape in DrawingMode
MPlotStencil Xpos.w,Ypos.w[,Colour] ;Plot a single pixel in the stencil to *represent* DrawingMode
MPlotCookie Xpos.w,Ypos.w[,Colour] ; Plot a single pixel in the cookie to *represent* DrawingMode
MPoint (Xpos.w,Ypos.w[,BitmapToRead.w]) ; Return the colour of a single pixel in a bitmap
MPointShape (Xpos.w,Ypos.w[,ShapeToRead.w]) ; Return the colour of a single pixel in a shape
MPointStencil (Xpos.w,Ypos.w[,BitmapToRead.w]) ;Return the status of a pixel in stencil. -1=Data, 0=Background
MPointCookie (Xpos.w,Ypos.w[,ShapeToRead.w]) ; Return the status of a pixel in cookie. -1=Data, 0=Background
MSScroll X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w[,CustomOffsets.l]] ; Copy bm 2 bm and st 2 st
MSScrollShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w[,CustomOffsets.l]] ; Copy sh2sh and ck2ck
MSScrollBitmapToShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w[,CustomOffsets.l]];bm2shandst2ck
MSScrollShapeToBitmap X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w[,CustomOffsets.l]]; sh2bmandck2st
MSMaskScroll X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; Stencil-Copy bm 2 bm and st 2 st
MSMaskScrollShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Cookie-Copy sh2sh and ck2ck
MSMaskScrollBitmapToShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ;Sten-Copy bm2sh&st2ck
MSMaskScrollShapeToBitmap X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Cook-Copy sh2bm&ck2st
MSBlockScroll X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w] ; Block-Copy bm 2 bm and st 2 st
MSBlockScrollShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w] ; Block-Copy sh2sh and ck2ck
MSBlockScrollBitmapToShape X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceBitmapNum.w];BlockCopy bm2sh&st2ck
MSBlockScrollShapeToBitmap X1.w,Y1.w,Width.w,Height.w,X2.w,Y2.w[,SourceShapeNum.w];BlockCopy sh2bm&ck2st
MSScrollCut On/Off ; 0=Paste stencil/cookie, <>0=Cut using stencil/cookie
MUseShapeBank BankNumber.w ; Current shape bank, 0..31
MNothing ; This is the 128th token and it doesn't work so is a dummy
MMaskScrollMode [([]Mode.w[])];CookieMode/EraseMode/InvMode/SolidMode/MColourMode/MReMapMode/MSimpleReMapMode/MAddMo
MBlitMode [([]Mode.w[])] ; CookieMode/EraseMode/InvMode/SolidMode/MColourMode/MReMapMode/MSimpleReMapMode/MAddMode
MBlit [ShapeNumber.w,]Xpos.w,Ypos,w ; Blit shape to bitmap, any coords
MBlock [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit shape to bitmap, align Xpos and width in multiples of 16!
MTile16x16 [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 16x16 shape to bitmap, size must be 16x16, align x/y
MTile32x32 [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 32x32 shape to bitmap, size must be 32x32, align x/y
MSTile16x16 [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 16x16 shape&cook 2 bitmap, size 16x16, align x/y
MSTile32x32 [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 32x32 shape&cook 2 bitmap, size 32x32, align x/y
MSTile16x16Store [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 16x16 shape&cook 2 bitmaps, size 16x16, align x/y
MSTile32x32Store [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 32x32 shape&cook 2 bitmaps, size 32x32, align x/y
MTile16x16Store [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 16x16 shape to 2 bitmaps, size 16x16, align x/y
MTile32x32Store [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit 32x32 shape to 2 bitmaps, size 32x32, align x/y
MReserveQueues [(]NumberOfQueues.w[)] ; Reserve structure-memory for Queues
MFreeQueue [FirstQueue.w[,LastQueue.w]] ; Free a Queue, a range of queues, or all queues
MAddrQueue [(QueueNumber.w)] ; Returns address of Queue structure
MQueue [(]QueueNumber.w,NumberOfItems.w[)] ; Allocmem for Queue list items
MFlushQueue QueueNumber.w ; Empties the queue to contain no items
MQBlitMode [([]Mode.w[])] ; CookieMode/EraseMode/InvMode/SolidMode/MColourMode/MReMapMode/MSimpleReMapMode/MAddMode
MAutoUseQueues True/False ; Automatically `use' new Queues. <>0=True
MUseQueue MainQueueNum.w[,SecondQueueNum.w[,ThirdQueueNum.w]] ; Current queue(s) to use
MUsedQueue ; Returns currently used Queue
MQBlit [[Queue.w,]ShapeNumber.w,]Xpos.w,Ypos,w ; QBlit shape to bitmap, any coords
MQBlock [[Queue.w,]ShapeNumber.w,]Xpos.w,Ypos.w ; QBlock-blit shape 2 bitmap, align Xpos & width in mult of 16
MUnQueue QueueNumber.w[,FirstItem.w,LastItem.w][,BitmapNumber.w] ; UnQueue [range of] queued objects [&flush]
MBitmapPtr [Xpos.w,Ypos.w][,BitmapNumber.w] ; Return data address calculated using bitmap [and coords]
MShapePtr [Xpos.w,Ypos.w][,ShapeNumber.w] ; Return data address calculated using shape [and coords]
MStencilPtr [Xpos.w,Ypos.w][,BitmapNumber.w] ; Return address calculated using stencil [and coords]
MCookiePtr [Xpos.w,Ypos.w][,ShapeNumber.w] ; Return address calculated using cookie [and coords]
MQDummy [Queue.w,]Xpos.w,Ypos.w,Width.w,Height.w ; Add an item to a queue without having to do a blit
MSBlitMode [([]Mode.w[])] ; CookieMode/EraseMode/InvMode/SolidMode/MColourMode/MReMapMode/MSimpleReMapMode/MAddMode
MSBlit [ShapeNumber.w,]Xpos.w,Ypos,w ; Blit shape to bitmap and cookie to stencil, any coords
MSBlock [ShapeNumber.w,]Xpos.w,Ypos.w ; Block-blit shape to bitmap & cookie 2 stencil, Xpos&Width in 16's
MSBlitCut On/Off ; 0=Paste stencil/cookie, <>0=Cut using stencil/cookie
MQSBlitMode [([]Mode.w[])] ;CookieMode/EraseMode/InvMode/SolidMode/MColourMode/MReMapMode/MSimpleReMapMode/MAddMode
MQSBlit [[Queue.w,]ShapeNumber.w,]Xpos.w,Ypos,w ; QBlit shape to bitmap and cookie to stencil, any coords
MQSBlock [[Queue.w,]ShapeNumber.w,]Xpos.w,Ypos.w ; QBlock-blit shape 2 bitmap, Xpos&width mult of 16
MQSBlitCut On/Off ; 0=Paste stencil/cookie, <>0=Cut using stencil/cookie. Adds entry to queue
MBoxF Xpos.w,Ypos.w,Xpos2.w,Ypos2.w[,Colour] Draw a filled box in a bitmap in DrawingMode
MBoxFShape Xpos.w,Ypos.w,Xpos2.w,Ypos2.w[,Colour] Draw a filled box in a shape in DrawingMode
MBoxFStencil Xpos.w,Ypos.w,Xpos2.w,Ypos2.w[,Colour] Draw a filled box in a stencil in DrawingMode
MBoxFCookie Xpos.w,Ypos.w,Xpos2.w,Ypos2.w[,Colour] Draw a filled box in a cookie in DrawingMode
MBox Xpos.w,Ypos.w,Xpos2.w,Ypos2.w[,Colour] Draw an unfilled box in a bitmap in DrawingMode
MBoxShape Xpos.w,Ypos.w,Xpos2.w,Ypos2.w[,Colour] Draw an unfilled box in a shape in DrawingMode
MBoxStencil Xpos.w,Ypos.w,Xpos2.w,Ypos2.w[,Colour] Draw an unfilled box in a stencil in DrawingMode
MBoxCookie Xpos.w,Ypos.w,Width.w,Height.w[,Colour] Draw an unfilled box in a cookie in DrawingMode
MPlanar16ToBitmap BitmapNum.w,PlanarAddr.l[,OpWidth.w,OpHeight.w,PlanarWidth.w,PlanarHeight.w] ; Convert p2c
MPlanar16ToShape ShapeNum.w,PlanarAddr.l[,OpWidth.w,OpHeight.w,PlanarWidth.w,PlanarHeight.w] ; Convert p2c
MGenericPtr Xpos.w,Ypos.w,BaseAddress.l,RowWidth.w ; Calculate and return address based on inputs
MCludgeCookie ShapeNumber.w,Memory.l ; Cludge shape's cookie from existing mem
MCludgeStencil BitmapNumber.w,Memory.l ; Cludge bitmap's stencil from existing mem
MBlockUnQueue QueueNumber.w[,FirstItem.w,LastItem.w][,BitmapNumber.w];Block-UnQueue [range of] objects[&flush]
MReMap [Colour#0.b,Colour#1.b,BitmapNum.w] *or* [RemapTable.l[,BitmapNum.w]] ; Remap #0 to #1 or with table
MReMapShape [Colour#0.b,Colour#1.b,ShapeNum.w] *or* [RemapTable.l[,ShapeNum.w]] ; Remap #0 to #1 or with table
MLine [Xpos.w,Ypos.w,]Xpos2.w,Ypos2.w[,Colour.b] ;Draw a line from X1,Y1 to X2,Y2 in a Bitmap in DrawingMode
MLineShape [Xpos.w,Ypos.w,]Xpos2.w,Ypos2.w[,Colour.b] ;Draw a line from X1,Y1 to X2,Y2 in a Shape in DrawingMode
MLineStencil [Xpos.w,Ypos.w,]Xpos2.w,Ypos2.w[,Colour.b];Draw a line from X1,Y1 to X2,Y2 in a stencil in DrawingMode
MLineCookie [Xpos.w,Ypos.w,]Xpos2.w,Ypos2.w[,Colour.b] ;Draw a line from X1,Y1 to X2,Y2 in a cookie in DrawingMode
MInk MainColour.b[,SecondColour.b[,ThirdColour.b]] ; Set what colour to assume as currently used. 0..255
MColourMode ;Returns value 4 which represents `colour' mode in the blit modes
MReserveTables [(]NumberOfTables.w[)] ; Reserve structure-memory for Tables
MFreeTable [FirstTable.w[,LastTable.w]] TableNumber.w ; Free a Table, a range of tables or all tables
MAddrTable [(TableNumber.w)] ; Returns address of Table structure
MTable [(]TableNumber.w,SizeInBytes.l[)] ; Allocmem for Table list items
MAutoUseTables True/False ; Automatically `use' new Tables. <>0=True
MUseTable MainTableNum.w[,SecondTableNum.w[,ThirdTableNum.w]] ; Current table(s) to use
MUsedTable ; Returns currently used Table
MTablePtr [TableNum.w] ; Returns pointer to base of the table itself
MReMapMode ;Returns value 5 which represents `ReMap' mode in the blit modes (uses current 2-dimensional table)
MSimpleReMapMode ;Returns value 6 which is `SimpleReMap' mode in blit modes (uses current 1-dimensional table)
MSMaskScrollMode [([]Mode.w[])];CookieMode/EraseMode/InvMode/SolidMode/MColourMode/MReMapMode/MSimpleReMapMode/MAdd
MPlotParticles CoordinateList.l,NumPoints.l[,Colour.b] ; Plot lots of points from a table of positions
MGrabParticles CoordinateList.l,NumPoints.l,Buffer.l ; Grab lots of points from a table into buffer mem
MDrawParticles CoordinateList.l,NumPoints.l,Buffer.l ; Draw lots of previously grabbed points using a table
MGrabParticlesAndPlot CoordinateList.l,NumPoints.l,Buffer.l[,Colour.b]; Grabs points to buffer & plots table
MAddToParticles CoordinateList.l,NumPoints.l,IncA.l[,IncB.l] ; Add [two sets of] increments to particle list
MWrapParticles CoordinateList.l,NumPoints.l ; Bring particles in from opposite edge to which they left
MReboundParticles CoordinateList.l,NumPoints.l,DirectionList.l,DetectSize.w ; Bounce off edges (NOT Ptr.l!!!)
MProcessor ; Returns value 0..6 representing MC68000..MC68060 cpu according to exec\AttnFlags
MAddXYToParticles CoordinateList.l,NumPoints.l,XToAdd.w,YToAdd.w ; Add constants to all particles
MAddXYToParticlesA CoordinateList.l,NumPoints.l,ValueToAdd.l ; Add constant to all particle pointers
MAddXYToParticlesQ CoordinateList.l,NumPoints.l,XToAdd.q,YToAdd.q ; Add constants to all particles
MParticleMode Mode.w or () ; MColourMode, MSimpleReMapMode, MReMapMode or MAddMode - to use in particle plot/draw
MMildredBase ; Returns long address of the base of Mildred's internal data area
MDrawingMode [(]Mode.w[)] ; InvMode/MColourMode/MReMapMode/MSimpleReMapMode/MAddMode to use for drawing (MPlot etc)
MParticleFormat [(]Format.b[)] ; Set particle lists/operation format. 0 = X.w,Y.w, <0 = X.q,Y.q, >0 = Ptr.l
MPictureDissolveIn PictureBitmapNum.w,Colour.b ; Do a picture-based colour-number dissolve-in of a bitmap
MPictureDissolveOut PictureBitmapNum.w,Colour.b,WipeToColour.b ;Do picture-based colour dissolve-out of bitmap
MZoom SrcX.q,SrcY.q,XAdd.q,YAdd.q,DestX.w,DestY.w,OpWidth.w,OpHeight.w,DeRes?.w[,SrcBmap.w[,CustomOffsets.l]]
MZoomShape SrcX.q,SrcY.q,XAdd.q,YAdd.q,DestX.w,DestY.w,OpWidth.w,OpHeight.w,DeRes?.w[,SrcShap.w[,CustOffs.l]]
MZoomBitmapToShape SrcX.q,SrcY.q,XAdd.q,YAdd.q,DstX.w,DstY.w,OpWid.w,OpHeight.w,DeRes?.w[,SrcBmap.w[,CustOffs.l]]
MZoomShapeToBitmap SrcX.q,SrcY.q,XAdd.q,YAdd.q,DstX.w,DstY.w,OpWidth.w,OpHeight.w,DeRes?.w[,SrcShap.w[,CustOffs.l]]
Any problems/suggestions/bugs, contact paul@stationone.demon.co.uk